必须要GPT-3吗?不,BERT的MLM模型也能小样本学习
©PaperWeekly 原创 · 作者|苏剑林
单位|追一科技
研究方向|NLP、神经网络
大家都知道现在 GPT-3 风头正盛,然而,到处都是 GPT-3、GPT-3 地推,读者是否记得 GPT-3 论文的名字呢?事实上,GPT-3 的论文叫做 Language Models are Few-Shot Learners [1],标题里边已经没有 G、P、T 几个单词了,只不过它跟开始的 GPT 是一脉相承的,因此还是以 GPT 称呼它。
顾名思义,GPT-3 主打的是 Few-Shot Learning,也就是小样本学习。此外,GPT-3 的另一个特点就是大,最大的版本多达 1750 亿参数,是 BERT Base 的一千多倍。
正因如此,前些天 Arxiv 上的一篇论文 It's Not Just Size That Matters: Small Language Models Are Also Few-Shot Learners [2] 便引起了笔者的注意,意译过来就是“谁说一定要大的?小模型也可以做小样本学习”。
冉冉升起的MLM
MLM,全称“Masked Language Model”,可以翻译为“掩码语言模型”,实际上就是一个完形填空任务,随机 Mask 掉文本中的某些字词,然后要模型去预测被 Mask 的字词,示意图如下:
▲ BERT的MLM模型简单示意图
其中被 Mask 掉的部分,可以是直接随机选择的 Token,也可以是随机选择连续的能组成一整个词的 Token,后者称为 WWM(Whole Word Masking)。
开始,MLM 仅被视为 BERT 的一个预训练任务,训练完了就可以扔掉的那种,因此有一些开源的模型干脆没保留 MLM 部分的权重,比如 brightmart 版 [3] 和 clue 版 [4] 的 RoBERTa,而哈工大开源的 RoBERTa-wwm-ext-large [5] 则不知道出于什么原因随机初始化了 MLM 部分的权重,因此如果要复现本文后面的结果,这些版本是不可取的。
然而,随着研究的深入,研究人员发现不止 BERT 的 Encoder 很有用,预训练用的 MLM 本身也很有用。
比如论文 BERT has a Mouth, and It Must Speak: BERT as a Markov Random Field Language Model [6] 指出 MLM 可以作为一般的生成模型用,论文 Spelling Error Correction with Soft-Masked BERT [7] 则将 MLM 用于文本纠错。
将任务转成完形填空
在本文里,我们再学习 MLM 的一个精彩应用:用于小样本学习或半监督学习,某些场景下甚至能做到零样本学习。
怎么将我们要做的任务跟 MLM 结合起来呢?很简单,给任务一个文本描述,然后转换为完形填空问题即可。举个例子,假如给定句子“这趟北京之旅我感觉很不错。”,那么我们补充个描述,构建如下的完形填空:
______满意。这趟北京之旅我感觉很不错。
进一步地,我们限制空位处只能填一个“很”或“不”,问题就很清晰了,就是要我们根据上下文一致性判断是否满意,如果“很”的概率大于“不”的概率,说明是正面情感倾向,否则就是负面的,这样我们就将情感分类问题转换为一个完形填空问题了,它可以用 MLM 模型给出预测结果,而 MLM 模型的训练可以不需要监督数据,因此理论上这能够实现零样本学习了。
多分类问题也可以做类似转换,比如新闻主题分类,输入句子为“八个月了,终于又能在赛场上看到女排姑娘们了。”,那么就可以构建:
下面播报一则______新闻。八个月了,终于又能在赛场上看到女排姑娘们了。
这样我们就将新闻主题分类也转换为完形填空问题了,一个好的 MLM 模型应当能预测出“体育”二字来。
还有一些简单的推理任务也可以做这样的转换,常见的是给定两个句子,判断这两个句子是否相容,比如“我去了北京”跟“我去了上海”就是矛盾的,“我去了北京”跟“我在天安门广场”是相容的,常见的做法就是将两个句子拼接起来输入到模型做,作为一个二分类任务。如果要转换为完形填空,那该怎么构造呢?一种比较自然的构建方式是:
我去了北京?______,我在天安门广场。
Pattern-Exploiting Training
读到这里,读者应该不难发现其中的规律了,就是给输入的文本增加一个前缀或者后缀描述,并且 Mask 掉某些 Token,转换为完形填空问题,这样的转换在原论文中称为 Pattern,这个转换要尽可能与原来的句子组成一句自然的话,不能过于生硬,因为预训练的 MLM 模型就是在自然语言上进行的。
显然同一个问题可以有很多不同的 Pattern,比如情感分类的例子,描述可以放最后,变成“这趟北京之旅我感觉很不错。____满意。”;也可以多加几个字,比如“觉得如何?____满意。这趟北京之旅我感觉很不错。”。
不难理解,不少 NLP 任务都有可能进行这种转换,但显然这种转换一般只适用于候选空间有限的任务,说白了就是只用来做选择题,常见任务的就是文本分类。
刚才说了,同一个任务可以有多种不同的 Pattern,原论文是这样处理的:
1. 对于每种 Pattern,单独用训练集 Finetune一个 MLM 模型出来;
2. 然后将不同 Pattern对应的模型进行集成,得到融合模型;
3. 用融合模型预测未标注数据的伪标签;
4. 用伪标签数据 Finetune 一个常规的(非 MLM 的)模型。
具体的集成方式大家自己看论文就行,这不是重点。这种训练模式被称为Pattern-Exploiting Training(PET),它首先出现在论文 Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference [8] 。
中文实践,检验效果
要真正确认一个方法或模型的价值,看论文的实验表格是不够的,论文给出的实验结果谁都不好说能否复现,其次就算英文上能复现也不代表中文上有价值,因此最实际的还是亲自动手做实验验证。下面是笔者的实验代码,供读者参考:
Github 地址:
https://github.com/bojone/Pattern-Exploiting-Training
我们将从以下几个角度来探讨 PET 的可行性:
下面主要给出情感二分类的实验结果。另外还有一个新闻主题的多分类,代码也放到 Github 了,其结果是类似的,就不重复陈述了。
4.1 零样本学习1
这里主要探索的是给输入文本补上对应的 Pattern 后,直接基于现成的 MLM 模型进行预测,预测的准确率。由于构建模型的整个过程都不涉及到标签数据监督训练,因此这算是一种“零样本学习”。我们需要比较的是不同 Pattern、不同 MLM 模型上的效果:
下面是实验的几个 Pattern,其中空位处候选词语都为“很”和“不”:
M1:Google 开源的中文版 BERT Base:
https://github.com/google-research/bert
M2:哈工大开源的 RoBERTa-wwm-ext Base:
https://github.com/ymcui/Chinese-BERT-wwm
M3:腾讯 UER 开源的 BERT Base:
https://share.weiyun.com/5QOzPqq
M4:腾讯 UER 开源的 BERT Large:
https://share.weiyun.com/5G90sMJ
实验结果如下表(验证集/测试集):
最好的效果居然可以达到 88%!也就是说,加载现成的 MLM,配合适当的 Pattern,不需要任何标注数据,就可以正确识别大部分样本情感倾向了。这不得不让我们对 MLM 模型的潜力刮目相看了。
可以观察到,不同的 Pattern、不同的预训练模型之间还是有一定的差异的,整体而言 Large 版本的效果要明显好于 Base 版本的模型,说明像 GPT 到 GPT2 再到 GPT3 一样,还是把模型做得更大会更好。
4.2 零样本学习2
刚才我们讨论了无标签数据继续预训练 MLM 的提升,如果回到 PET 的目标场景,直接用小量的标签数据配合特定的 Pattern 训练 MLM 又如何呢?
4.3 半监督学习
还是同样的,“后缀”明显比“前缀”差,“前缀”的效果差不多。具体效果上,则是肯定了额外的无标注数据也是有作用的。
读者还可以对比我们之前在文章泛化性乱弹:从随机噪声、梯度惩罚到虚拟对抗训练中用虚拟对抗训练(VAT)做半监督学习的结果,可以看到不管是零样本学习、小样本学习还是半监督学习,基于 MLM 模型的方式都能媲美基于 VAT 的半监督学习的结果。
我们在做短新闻多分类实验时的结果也是相似的。因此,这说明了 MLM 模型确实也可以作为一个优秀的零样本/小样本/半监督学习器来使用。
又到了说小结的时候
本文介绍了 BERT 的 MLM 模型的一个新颖应用:配合特定的描述将任务转化为完形填空,利用 MLM 模型做零样本学习、小样本学习和半监督学习。
参考文献
更多阅读
#投 稿 通 道#
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
📝 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
📬 投稿邮箱:
• 投稿邮箱:hr@paperweekly.site
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。